<template>
  <div class="register-page">
     <van-nav-bar title="面经注册"/>
 <van-form @submit="onSubmit">
  <van-field
    v-model="username"
    name="username"
    label="用户名"
    placeholder="用户名"
    :rules="[{ required: true, message: '请填写用户名' }]"
  />
  <van-field
    v-model="password"
    type="password"
    name="password"
    label="密码"
    placeholder="密码"
    :rules="[{ required: true, message: '请填写密码' },

    {pattern:/^\w{6,}/, message:'密码至少为六位哦'}]"

  />
  <div style="margin: 16px;">
    <van-button round block  native-type="submit" color="linear-gradient(to right, #ff6034, #ee0a00)">注册</van-button>
  </div>
</van-form>
<!-- 跳转到登录） -->
      <router-link to="/login" class="link ">已有账号？去登录</router-link>
  </div>
</template>

<script>
// 按需导出
import { register } from '@/api/user'
export default {
  name: 'register-page',
  data () {
    return {
      password: '',
      username: ''
    }
  },
  methods: {
    async  onSubmit (value) {
      // value是一个对象里面是用户名和密码
      // 封装好的register代表着往后台发送注册请求，就不用原来的写法，返回的是一个promise对象，
      console.log(value)
      // value传给register当做实参，在传给形参，发送请求时用到
      await register(value)
      // 成功提示 这里可以直接使用this.只因为挂载到了vue实例上
      this.$toast.success('注册成功')
      // 成功后跳转登录界面
      this.$router.push('/login')
    }
  }
}
</script>

<style lang="less" scoped>
.link {
  color: #069;
  font-size: 12px;
  padding-right: 20px;
  float: right;
}
</style>
